package bill.study.algorithms.arraysStrings;

import java.util.HashMap;
import java.util.HashSet;
import java.util.Set;

public class SumEqualToTarget {
	public static Set<Set<Integer>> findPair(int [] inputArray, Integer target){
		
		HashMap<Integer, Integer> hash = new HashMap<Integer, Integer>();
		for(int i = 0; i < inputArray.length; i ++){
			hash.put(inputArray[i], inputArray[i]);
		}
		
		Set<Set<Integer>> result = new HashSet<Set<Integer>>();
		for(int i = 0; i < inputArray.length; i ++){
			if(target-inputArray[i]==hash.put(target-inputArray[i], target-inputArray[i])){
				Set<Integer>  set =new HashSet<Integer>();
				set.add(inputArray[i]);
				set.add(target-inputArray[i]);
				if(set.size()==2){
				result.add(set);
				}
			}
		}
		return result;
	}
	
	public static void main(String [] args){
		int [] inputArray= new int[]{1,2,3,4,5,6,7,8,9,10,11};
		int target = 12;
		System.out.println(findPair(inputArray, target));
	}
}
